{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Chapter 9.3 - Convolutional Neural Network.ipynb",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "jXlveIQGaUei",
        "colab_type": "text"
      },
      "source": [
        "### 9.3. Convolution Neural Network For Image Classification"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Avvax8GjdB9f",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 710
        },
        "outputId": "bd9c4ba5-3cc2-43d6-d015-defe4d3cfa12"
      },
      "source": [
        "pip install --upgrade tensorflow"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Requirement already up-to-date: tensorflow in /usr/local/lib/python3.6/dist-packages (2.3.0)\n",
            "Requirement already satisfied, skipping upgrade: wrapt>=1.11.1 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.12.1)\n",
            "Requirement already satisfied, skipping upgrade: tensorflow-estimator<2.4.0,>=2.3.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (2.3.0)\n",
            "Requirement already satisfied, skipping upgrade: absl-py>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (0.10.0)\n",
            "Requirement already satisfied, skipping upgrade: keras-preprocessing<1.2,>=1.1.1 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.1.2)\n",
            "Requirement already satisfied, skipping upgrade: wheel>=0.26 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (0.35.1)\n",
            "Requirement already satisfied, skipping upgrade: gast==0.3.3 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (0.3.3)\n",
            "Requirement already satisfied, skipping upgrade: h5py<2.11.0,>=2.10.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (2.10.0)\n",
            "Requirement already satisfied, skipping upgrade: google-pasta>=0.1.8 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (0.2.0)\n",
            "Requirement already satisfied, skipping upgrade: opt-einsum>=2.3.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (3.3.0)\n",
            "Requirement already satisfied, skipping upgrade: tensorboard<3,>=2.3.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (2.3.0)\n",
            "Requirement already satisfied, skipping upgrade: termcolor>=1.1.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.1.0)\n",
            "Requirement already satisfied, skipping upgrade: six>=1.12.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.15.0)\n",
            "Requirement already satisfied, skipping upgrade: grpcio>=1.8.6 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.32.0)\n",
            "Requirement already satisfied, skipping upgrade: protobuf>=3.9.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (3.12.4)\n",
            "Requirement already satisfied, skipping upgrade: scipy==1.4.1 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.4.1)\n",
            "Requirement already satisfied, skipping upgrade: astunparse==1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.6.3)\n",
            "Requirement already satisfied, skipping upgrade: numpy<1.19.0,>=1.16.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.18.5)\n",
            "Requirement already satisfied, skipping upgrade: requests<3,>=2.21.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard<3,>=2.3.0->tensorflow) (2.23.0)\n",
            "Requirement already satisfied, skipping upgrade: google-auth<2,>=1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorboard<3,>=2.3.0->tensorflow) (1.17.2)\n",
            "Requirement already satisfied, skipping upgrade: markdown>=2.6.8 in /usr/local/lib/python3.6/dist-packages (from tensorboard<3,>=2.3.0->tensorflow) (3.2.2)\n",
            "Requirement already satisfied, skipping upgrade: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.6/dist-packages (from tensorboard<3,>=2.3.0->tensorflow) (0.4.1)\n",
            "Requirement already satisfied, skipping upgrade: werkzeug>=0.11.15 in /usr/local/lib/python3.6/dist-packages (from tensorboard<3,>=2.3.0->tensorflow) (1.0.1)\n",
            "Requirement already satisfied, skipping upgrade: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard<3,>=2.3.0->tensorflow) (1.7.0)\n",
            "Requirement already satisfied, skipping upgrade: setuptools>=41.0.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard<3,>=2.3.0->tensorflow) (50.3.0)\n",
            "Requirement already satisfied, skipping upgrade: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<3,>=2.3.0->tensorflow) (2.10)\n",
            "Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<3,>=2.3.0->tensorflow) (1.24.3)\n",
            "Requirement already satisfied, skipping upgrade: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<3,>=2.3.0->tensorflow) (3.0.4)\n",
            "Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<3,>=2.3.0->tensorflow) (2020.6.20)\n",
            "Requirement already satisfied, skipping upgrade: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<3,>=2.3.0->tensorflow) (0.2.8)\n",
            "Requirement already satisfied, skipping upgrade: rsa<5,>=3.1.4; python_version >= \"3\" in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<3,>=2.3.0->tensorflow) (4.6)\n",
            "Requirement already satisfied, skipping upgrade: cachetools<5.0,>=2.0.0 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<3,>=2.3.0->tensorflow) (4.1.1)\n",
            "Requirement already satisfied, skipping upgrade: importlib-metadata; python_version < \"3.8\" in /usr/local/lib/python3.6/dist-packages (from markdown>=2.6.8->tensorboard<3,>=2.3.0->tensorflow) (1.7.0)\n",
            "Requirement already satisfied, skipping upgrade: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard<3,>=2.3.0->tensorflow) (1.3.0)\n",
            "Requirement already satisfied, skipping upgrade: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.6/dist-packages (from pyasn1-modules>=0.2.1->google-auth<2,>=1.6.3->tensorboard<3,>=2.3.0->tensorflow) (0.4.8)\n",
            "Requirement already satisfied, skipping upgrade: zipp>=0.5 in /usr/local/lib/python3.6/dist-packages (from importlib-metadata; python_version < \"3.8\"->markdown>=2.6.8->tensorboard<3,>=2.3.0->tensorflow) (3.1.0)\n",
            "Requirement already satisfied, skipping upgrade: oauthlib>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<3,>=2.3.0->tensorflow) (3.1.0)\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "iOykUOJgmIDc",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        },
        "outputId": "e65121a0-3fca-497e-a2f3-8ea6492f52ca"
      },
      "source": [
        "import tensorflow as tf\n",
        "print(tf.__version__)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "2.3.0\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "LQ_eOtptmJyx",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#importing required libraries\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "from tensorflow.keras.layers import Input, Conv2D, Dense, Flatten, Dropout, MaxPool2D\n",
        "from tensorflow.keras.models import Model"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "cEZF_GwvmoNq",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 163
        },
        "outputId": "f9044730-9d8f-4ae1-ca81-60c80dbefead"
      },
      "source": [
        "#importing mnist datase\n",
        "mnist_data = tf.keras.datasets.fashion_mnist\n",
        "\n",
        "#dividing data into training and test sets\n",
        "(training_images, training_labels), (test_images, test_labels) = mnist_data .load_data()\n"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-labels-idx1-ubyte.gz\n",
            "32768/29515 [=================================] - 0s 0us/step\n",
            "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-images-idx3-ubyte.gz\n",
            "26427392/26421880 [==============================] - 0s 0us/step\n",
            "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-labels-idx1-ubyte.gz\n",
            "8192/5148 [===============================================] - 0s 0us/step\n",
            "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-images-idx3-ubyte.gz\n",
            "4423680/4422102 [==============================] - 0s 0us/step\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "95nQL4Gem4Cq",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#scaling images\n",
        "training_images, test_images = training_images/255.0, test_images/255.0"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "c4yQzJjhnla0",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        },
        "outputId": "c0807cd9-84d1-4621-836e-84cdfcb900c9"
      },
      "source": [
        "print(training_images.shape)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "(60000, 28, 28)\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "b_Gr3AtOnnlk",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 269
        },
        "outputId": "543b983d-ef9b-442c-a0d9-4d913429da33"
      },
      "source": [
        "#plotting image number 9 from test set\n",
        "plt.figure()\n",
        "plt.imshow(test_images[9])\n",
        "plt.colorbar()\n",
        "plt.grid(False)\n",
        "plt.show()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "YjYw6wJzy0Ym",
        "colab_type": "text"
      },
      "source": [
        "0: T-shirt\\top \n",
        "\n",
        "1: Trouser\n",
        "\n",
        "2: Pullover \n",
        "\n",
        "3: Dress \n",
        "\n",
        "4: Coat \n",
        "\n",
        "5: Sandal \n",
        "\n",
        "6: Shirt \n",
        "\n",
        "7: Sneaker \n",
        "\n",
        "8: Bag \n",
        "\n",
        "9: Ankle boot "
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "A1NArVLCo5Mn",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        },
        "outputId": "9052e106-db57-4efc-e9b2-dbd5602125ad"
      },
      "source": [
        "#converting data into the right shape\n",
        "training_images = np.expand_dims(training_images, -1)\n",
        "test_images = np.expand_dims(test_images, -1)\n",
        "print(training_images.shape)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "(60000, 28, 28, 1)\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Tadx35fmpRip",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        },
        "outputId": "c806ff99-1e0a-403e-cbf7-d7376ab06a17"
      },
      "source": [
        "#printing number of output classes\n",
        "output_classes = len(set(training_labels))\n",
        "print(\"Number of output classes is: \", output_classes)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Number of output classes is:  10\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "BpyK-398pvg9",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        },
        "outputId": "fd1a81d4-c907-4a28-fe10-82c38a129f17"
      },
      "source": [
        "training_images[0].shape"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(28, 28, 1)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 10
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "YUmlI6fdp3Hu",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#Developing the CNN model\n",
        "\n",
        "input_layer = Input(shape = training_images[0].shape )\n",
        "conv1 = Conv2D(32, (3,3), strides = 2, activation= 'relu')(input_layer)\n",
        "maxpool1 = MaxPool2D(2, 2)(conv1)\n",
        "conv2 = Conv2D(64, (3,3), strides = 2, activation= 'relu')(maxpool1)\n",
        "#conv3 = Conv2D(128, (3,3), strides = 2, activation= 'relu')(conv2)\n",
        "flat1 = Flatten()(conv2)\n",
        "drop1 = Dropout(0.2)(flat1)\n",
        "dense1 = Dense(512, activation = 'relu')(drop1)\n",
        "drop2  = Dropout(0.2)(dense1)\n",
        "output_layer = Dense(output_classes, activation= 'softmax')(drop2)\n",
        "\n",
        "model = Model(input_layer, output_layer)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "8P_ip1oKrD0y",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#compiling the CNN model\n",
        "model.compile(optimizer = 'adam', loss= 'sparse_categorical_crossentropy', metrics =['accuracy'])\n"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "YN6P3QFyraV1",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 976
        },
        "outputId": "0885ed48-b7bd-459c-a700-ad98a5b96d59"
      },
      "source": [
        "from tensorflow.keras.utils import plot_model\n",
        "plot_model(model, to_file='model_plot1.png', show_shapes=True, show_layer_names=True)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<IPython.core.display.Image object>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 13
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "8beGmK_FsQra",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 745
        },
        "outputId": "8c84aabe-ea52-45d4-d3ef-1d5b7f4e7501"
      },
      "source": [
        "#training the CNN model\n",
        "model_history = model.fit(training_images, training_labels, epochs=20, validation_data=(test_images, test_labels), verbose=1)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Epoch 1/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.5878 - accuracy: 0.7848 - val_loss: 0.4480 - val_accuracy: 0.8343\n",
            "Epoch 2/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.4283 - accuracy: 0.8417 - val_loss: 0.3950 - val_accuracy: 0.8578\n",
            "Epoch 3/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.3840 - accuracy: 0.8567 - val_loss: 0.3722 - val_accuracy: 0.8654\n",
            "Epoch 4/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.3542 - accuracy: 0.8686 - val_loss: 0.3470 - val_accuracy: 0.8693\n",
            "Epoch 5/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.3326 - accuracy: 0.8750 - val_loss: 0.3429 - val_accuracy: 0.8727\n",
            "Epoch 6/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.3200 - accuracy: 0.8804 - val_loss: 0.3310 - val_accuracy: 0.8776\n",
            "Epoch 7/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.3062 - accuracy: 0.8848 - val_loss: 0.3447 - val_accuracy: 0.8707\n",
            "Epoch 8/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.2946 - accuracy: 0.8893 - val_loss: 0.3158 - val_accuracy: 0.8854\n",
            "Epoch 9/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.2843 - accuracy: 0.8924 - val_loss: 0.3303 - val_accuracy: 0.8801\n",
            "Epoch 10/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.2752 - accuracy: 0.8956 - val_loss: 0.3233 - val_accuracy: 0.8857\n",
            "Epoch 11/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.2670 - accuracy: 0.8995 - val_loss: 0.3129 - val_accuracy: 0.8869\n",
            "Epoch 12/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.2592 - accuracy: 0.9011 - val_loss: 0.3184 - val_accuracy: 0.8841\n",
            "Epoch 13/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.2513 - accuracy: 0.9052 - val_loss: 0.3251 - val_accuracy: 0.8880\n",
            "Epoch 14/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.2475 - accuracy: 0.9058 - val_loss: 0.3290 - val_accuracy: 0.8835\n",
            "Epoch 15/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.2403 - accuracy: 0.9097 - val_loss: 0.3236 - val_accuracy: 0.8837\n",
            "Epoch 16/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.2332 - accuracy: 0.9119 - val_loss: 0.3192 - val_accuracy: 0.8853\n",
            "Epoch 17/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.2306 - accuracy: 0.9121 - val_loss: 0.3241 - val_accuracy: 0.8866\n",
            "Epoch 18/20\n",
            "1875/1875 [==============================] - 7s 3ms/step - loss: 0.2259 - accuracy: 0.9128 - val_loss: 0.3177 - val_accuracy: 0.8883\n",
            "Epoch 19/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.2173 - accuracy: 0.9182 - val_loss: 0.3250 - val_accuracy: 0.8903\n",
            "Epoch 20/20\n",
            "1875/1875 [==============================] - 6s 3ms/step - loss: 0.2140 - accuracy: 0.9180 - val_loss: 0.3292 - val_accuracy: 0.8890\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "t-K_5Sf9sgYP",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 283
        },
        "outputId": "b4ebd7ec-341e-4e55-9599-8b9398d545e5"
      },
      "source": [
        "#plotting accuracy\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "plt.plot(model_history.history['accuracy'], label = 'accuracy')\n",
        "plt.plot(model_history.history['val_accuracy'], label = 'val_accuracy')\n",
        "plt.legend(['train','test'], loc='lower left')"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.legend.Legend at 0x7f8b80137588>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 15
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "kTs_7GeLtUh0",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 285
        },
        "outputId": "28af22b7-24db-4a6a-b344-02349884e9f8"
      },
      "source": [
        "#plotting loss\n",
        "plt.plot(model_history.history['loss'], label = 'loss')\n",
        "plt.plot(model_history.history['val_loss'], label = 'val_loss')\n",
        "plt.legend(['train','test'], loc='upper left')"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.legend.Legend at 0x7f8b800eff98>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 16
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "FJLZGaZ9wJtV",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        },
        "outputId": "1de8ec69-1504-4cb9-801e-9c684aa30cda"
      },
      "source": [
        "#making predictions on a single image\n",
        "output = model.predict(test_images)\n",
        "prediction = np.argmax(output[9])\n",
        "print(prediction)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "7\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Z5betMWCtXyv",
        "colab_type": "text"
      },
      "source": [
        "## Exercise 9.1 \n",
        "\n",
        "### Question 1\n",
        "\n",
        "What should be the input shape of the input image to the  convolutional neural network?\n",
        "\n",
        "A. Width, Height \\\n",
        "B. Height, Width \\\n",
        "C. Channels, Width, Height \\\n",
        "D. Width, Height, Channels \\\n",
        "\n",
        "Answer: D\n",
        "\n",
        "### Question 2:\n",
        "\n",
        "We say that a model is overfitting when:\n",
        "\n",
        "A. Results on test set are better than train set \\\n",
        "B. Results on both test and train set are similar \\\n",
        "C. Results on training set are better than results on test set \\\n",
        "D. None of the above\n",
        "\n",
        "Answer (C)\n",
        "\n",
        "\n",
        "### Question 3\n",
        "\n",
        "The relu activation function is used to introduce:\n",
        "\n",
        "A. Linearity \\\n",
        "B. Non-linearity \\\n",
        "C. Quadraticity \\\n",
        "D. None of the above\n",
        "\n",
        "Answer: B\n",
        "\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "XNRQql3bvxEQ",
        "colab_type": "text"
      },
      "source": [
        "## Exercise 9.2\n",
        "\n",
        "Using the CFAR 10 image dataset, perform image classification to recognize images."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "fpNag9HWzIql",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "cifar_dataset = tf.keras.datasets.cifar10"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "7d-_DUgyzcSz",
        "colab_type": "text"
      },
      "source": [
        "### Solution"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ACcgb1CUzgoL",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 54
        },
        "outputId": "71cf3d0e-f5c0-4e68-cd19-9bd62d61f218"
      },
      "source": [
        "(training_images, training_labels), (test_images, test_labels) = cifar_dataset.load_data()\n",
        "\n",
        "training_images, test_images = training_images/255.0, test_images/255.0\n",
        "\n",
        "training_labels, test_labels = training_labels.flatten(), test_labels.flatten()\n",
        "print(training_labels.shape)\n",
        "print(training_images.shape)\n",
        "output_classes = len(set(training_labels))\n",
        "print(\"Number of output classes is: \", output_classes)\n",
        "input_layer = Input(shape = training_images[0].shape )\n",
        "conv1 = Conv2D(32, (3,3), strides = 2, activation= 'relu')(input_layer)\n",
        "maxpool1 = MaxPool2D(2, 2)(conv1)\n",
        "conv2 = Conv2D(64, (3,3), strides = 2, activation= 'relu')(maxpool1)\n",
        "#conv3 = Conv2D(128, (3,3), strides = 2, activation= 'relu')(conv2)\n",
        "flat1 = Flatten()(conv2)\n",
        "drop1 = Dropout(0.2)(flat1)\n",
        "dense1 = Dense(512, activation = 'relu')(drop1)\n",
        "drop2  = Dropout(0.2)(dense1)\n",
        "output_layer = Dense(output_classes, activation= 'softmax')(drop2)\n",
        "\n",
        "model = Model(input_layer, output_layer)\n",
        "model.compile(optimizer = 'adam', loss= 'sparse_categorical_crossentropy', metrics =['accuracy'])\n",
        "model_history = model.fit(training_images, training_labels, epochs=20, validation_data=(test_images, test_labels), verbose=1)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Downloading data from https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz\n",
            "170500096/170498071 [==============================] - 4s 0us/step\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "nxAVZ3oq0OqA",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}